package com.example.zhunongzonghe.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.zhunongzonghe.beans.ZnHouseEvaluateBean;
import com.example.zhunongzonghe.entity.ZnHouseEvaluate;

/**
* @author 蔡某人
* @description 针对表【zn_house_evaluate】的数据库操作Service
* @createDate 2024-04-23 20:31:53
*/
public interface ZnHouseEvaluateService extends IService<ZnHouseEvaluate> {
    /**
     * 用户对当前农产品进行评价
     * @param znHouseEvaluateBean
     */
    void addHouseEvaluate(ZnHouseEvaluateBean znHouseEvaluateBean, String userName);

    /**
     * 用户对当前农家乐预定评价进行编辑
     * @param znHouseEvaluateBean
     * @param userName
     */
    void editHouseEvaluate(ZnHouseEvaluateBean znHouseEvaluateBean,String userName);

    /**
     * 通过预定id和用户名获取当前预定内农家乐的评价
     * @param reserveId
     * @param username
     * @return
     */
    ZnHouseEvaluateBean getEvaluate(Integer reserveId,String username);

    /**
     * 农家乐全部评价
     * @param houseId
     * @param createPage
     * @param pageSize
     * @return
     */
    Page<ZnHouseEvaluateBean> selectEvaAll(Integer houseId, Integer createPage, Integer pageSize);

    /**
     * 查询评分为4和5的农家乐评价
     * @param houseId
     * @param createPage
     * @param pageSize
     * @return
     */
    Page<ZnHouseEvaluateBean> selectFourAndFive(Integer houseId,Integer createPage,Integer pageSize);

    /**
     * 查询评分为3的农家乐评价
     * @param houseId
     * @param createPage
     * @param pageSize
     * @return
     */
    Page<ZnHouseEvaluateBean> selectThree(Integer houseId,Integer createPage,Integer pageSize);

    /**
     * 查询评分为1和2的农家乐评价
     * @param houseId
     * @param createPage
     * @param pageSize
     * @return
     */
    Page<ZnHouseEvaluateBean> selectOneAndTow(Integer houseId,Integer createPage,Integer pageSize);

    /**
     * 后台查询全部农家乐评价
     * @param currentPage
     * @param pageSize
     * @param searchInfo
     * @return
     */
    Page<ZnHouseEvaluateBean> selectEvaluateAll(Integer currentPage,Integer pageSize,Object searchInfo);
}
